import Vue from 'vue';
import Vuex from 'vuex'

Vue.use(Vuex)
//4.创建vuex.store实例对象
const store=new Vuex.Store({
  //1.在state中定义数据
  //2.在组件this.$store.数据名访问数据
  state:{
    count:100,
    list:[1,2,3,4,5,6,7,8,9,10]
  },
  //1.在store中定义mutations方法
  //2.在组件中使用This.$store.commit('addcount')
  mutations:{
    //mutations第一个参数永远都是state
    addCount(state){
      state.count++
    },
    addNum(state,num){
      state.count+=num
    }
  },
  actions:{
    asyncAdd(context,num){
      setTimeout(()=>{
        context.commit('addNum',num)
      },1000)
    }
  }
})

export default store